package pe.cliente.proyecto.dominio;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import pe.adra.core.dao.ADRAEntidad;

@Entity
@Table(name = "Estadio")
public class Estadio  extends ADRAEntidad {

	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO, generator="ESTADIO_SEQ")
	@SequenceGenerator(name="ESTADIO_SEQ", sequenceName="ESTADIO_SEQ")	
	@Column(name = "EST_ID")
	private Long id;
	
	@Column(name = "EST_NOMBRE",length=100,unique=true,nullable=false)
	private String nombre;
	
	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name = "UBI_ID",nullable=false)
	private Ubigeo ubigeo;
//	@Column(name = "UBI_ID")
//	private int ubigeo;
	
	@OneToOne(fetch=FetchType.EAGER)
	@JoinColumn(name = "RESP_ID",nullable=false)
	private Responsable responsable;
//	@Column(name = "RESP_ID")
//	private int responsable;

	@Column(name = "EST_CANTIDAD_ASIENTOS",nullable=false)
	private int cantidadAsientos;

	@Column(name = "EST_DIRECCION",length=200,nullable=false)
	private String direccion;
	
	@Column(name = "EST_REFERENCIA",length=200)
	private String referencia;
	


	@OneToMany(fetch=FetchType.LAZY, mappedBy="estadio", cascade=CascadeType.ALL)
    private List<Asiento> asientos = new ArrayList<Asiento>();
	
	
	public Long getId() {
		return id;
	}


	public void setId(Long id) {
		this.id = id;
	}


	public String getNombre() {
		return nombre;
	}


	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	public Ubigeo getUbigeo() {
		return ubigeo;
	}


	public void setUbigeo(Ubigeo ubigeo) {
		this.ubigeo = ubigeo;
	}


	public Responsable getResponsable() {
		return responsable;
	}


	public void setResponsable(Responsable responsable) {
		this.responsable = responsable;
	}


	public int getCantidadAsientos() {
		return cantidadAsientos;
	}


	public void setCantidadAsientos(int cantidadAsientos) {
		this.cantidadAsientos = cantidadAsientos;
	}


	public String getDireccion() {
		return direccion;
	}


	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}


	public String getReferencia() {
		return referencia;
	}


	public void setReferencia(String referencia) {
		this.referencia = referencia;
	}


	public List<Asiento> getAsientos() {
		return asientos;
	}


	public void setAsientos(List<Asiento> asientos) {
		this.asientos = asientos;
	}


	public String getNombreCompleto() {
		// TODO Auto-generated method stub
		return null;
	}



}
